

public class EdgeOrientationTable{
	public int[][] eOrientTable = new int[4][2047]; //this is the move table for edge orientation. The cube is 4 integers, and edge orientation is one of them, between 0 and 2047. There are four
	// moves that change edge orientation - F, B, F', B' (0-3). the coordinate [3][452] for example, has the result of edge orientation if you preform F' on a cube with edge orientation 452.
	private int binEOTurn(int initPos, int turn){ 
		if (turn%2 == 0) return initPos ^ 152; //00010011000
		else return initPos ^ 1124; //10001100100	
	}
	public void genEdgeOrientationTable(){//simply goes through all the table and fills it in
		for (int i = 0; i < 4; i++){
			//i represents the turn, not 1-18
			for (int j = 0; j < 2047; j++){			
				eOrientTable[i][j] = binEOTurn(j, i);
			}
		}
	}
	public EdgeOrientationTable(){
		
	};
}
